﻿Imports Microsoft.TeamFoundation.Migration.Toolkit.Wit

Public Class HeatItsmMigrationWorkItemStore
    Implements IWorkItemTrackingEndpoint
    Implements IMigrationWorkItemStore
    Implements IWorkItemUpdatePackageFactory
    Implements IDisposable

#Region " IWorkItemTrackingEndpoint "

    Public Property WriteQueueConfig() As Microsoft.TeamFoundation.Migration.Toolkit.Wit.QueueConfiguration Implements Microsoft.TeamFoundation.Migration.Toolkit.Wit.IWorkItemTrackingEndpoint.WriteQueueConfig
        Get

        End Get
        Set(ByVal value As Microsoft.TeamFoundation.Migration.Toolkit.Wit.QueueConfiguration)

        End Set
    End Property

    Public Property Session() As Microsoft.TeamFoundation.Migration.Toolkit.WorkItemTrackingSession Implements Microsoft.TeamFoundation.Migration.Toolkit.Wit.IWorkItemTrackingEndpoint.Session
        Get

        End Get
        Set(ByVal value As Microsoft.TeamFoundation.Migration.Toolkit.WorkItemTrackingSession)

        End Set
    End Property

    Public Function CreateWorkItemStore() As Microsoft.TeamFoundation.Migration.Toolkit.Wit.IMigrationWorkItemStore Implements Microsoft.TeamFoundation.Migration.Toolkit.Wit.IMigrationWorkItemStoreFactory.CreateWorkItemStore

    End Function

#End Region

#Region " IMigrationWorkItemStore "

    Public Function Update(ByVal updates() As Microsoft.TeamFoundation.Migration.Toolkit.Wit.IWorkItemUpdate) As Microsoft.TeamFoundation.Migration.Toolkit.Wit.UpdateResult() Implements Microsoft.TeamFoundation.Migration.Toolkit.Wit.IMigrationWorkItemStore.Update

    End Function

    Public ReadOnly Property SystemName() As String Implements Microsoft.TeamFoundation.Migration.Toolkit.Wit.IMigrationWorkItemStore.SystemName
        Get

        End Get
    End Property

    Public Sub SynchronizeWorkItemType(ByVal typeName As String, ByVal tfsTypeName As String, ByVal types As Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemTypeCollection) Implements Microsoft.TeamFoundation.Migration.Toolkit.Wit.IMigrationWorkItemStore.SynchronizeWorkItemType

    End Sub

    Public Sub SynchronizeMetadata(ByVal project As Microsoft.TeamFoundation.WorkItemTracking.Client.Project) Implements Microsoft.TeamFoundation.Migration.Toolkit.Wit.IMigrationWorkItemStore.SynchronizeMetadata

    End Sub

    Public ReadOnly Property StringValueComparer() As System.StringComparer Implements Microsoft.TeamFoundation.Migration.Toolkit.Wit.IMigrationWorkItemStore.StringValueComparer
        Get

        End Get
    End Property

    Public ReadOnly Property StoreName() As String Implements Microsoft.TeamFoundation.Migration.Toolkit.Wit.IMigrationWorkItemStore.StoreName
        Get

        End Get
    End Property

    Public Function Reopen() As Microsoft.TeamFoundation.Migration.Toolkit.Wit.IMigrationWorkItemStore Implements Microsoft.TeamFoundation.Migration.Toolkit.Wit.IMigrationWorkItemStore.Reopen

    End Function

    Public Sub Refresh() Implements Microsoft.TeamFoundation.Migration.Toolkit.Wit.IMigrationWorkItemStore.Refresh

    End Sub

    Public Function IsValidUser(ByVal name As String) As Boolean Implements Microsoft.TeamFoundation.Migration.Toolkit.Wit.IMigrationWorkItemStore.IsValidUser

    End Function

    Public Function IsValidField(ByVal workItemType As String, ByVal fieldName As String) As Boolean Implements Microsoft.TeamFoundation.Migration.Toolkit.Wit.IMigrationWorkItemStore.IsValidField

    End Function

    Public ReadOnly Property IdComparer() As System.StringComparer Implements Microsoft.TeamFoundation.Migration.Toolkit.Wit.IMigrationWorkItemStore.IdComparer
        Get

        End Get
    End Property

    Public Function GetItems(ByVal ids() As String) As Microsoft.TeamFoundation.Migration.Toolkit.Wit.GetWorkItemResult() Implements Microsoft.TeamFoundation.Migration.Toolkit.Wit.IMigrationWorkItemStore.GetItems

    End Function

    Public Function GetItems(ByRef highWatermark As String) As System.Collections.Generic.IEnumerable(Of Microsoft.TeamFoundation.Migration.Toolkit.Wit.IMigrationWorkItem) Implements Microsoft.TeamFoundation.Migration.Toolkit.Wit.IMigrationWorkItemStore.GetItems

    End Function

    Public Function GetFlatFields(ByVal workItemType As String) As System.Collections.Generic.IEnumerable(Of String) Implements Microsoft.TeamFoundation.Migration.Toolkit.Wit.IMigrationWorkItemStore.GetFlatFields

    End Function

    Public ReadOnly Property Flags() As Microsoft.TeamFoundation.Migration.Toolkit.Wit.MigrationWorkItemData Implements Microsoft.TeamFoundation.Migration.Toolkit.Wit.IMigrationWorkItemStore.Flags
        Get

        End Get
    End Property

    Public ReadOnly Property FieldNameComparer() As System.StringComparer Implements Microsoft.TeamFoundation.Migration.Toolkit.Wit.IMigrationWorkItemStore.FieldNameComparer
        Get

        End Get
    End Property

    Public Sub Close() Implements Microsoft.TeamFoundation.Migration.Toolkit.Wit.IMigrationWorkItemStore.Close

    End Sub

    Public ReadOnly Property ChangeListFactory() As Microsoft.TeamFoundation.Migration.Toolkit.Wit.IWorkItemUpdatePackageFactory Implements Microsoft.TeamFoundation.Migration.Toolkit.Wit.IMigrationWorkItemStore.ChangeListFactory
        Get

        End Get
    End Property

#End Region

#Region " IWorkItemUpdatePackageFactory "

    Public Function CreateUpdatePackage(ByVal source As Microsoft.TeamFoundation.Migration.Toolkit.Wit.IMigrationWorkItem, ByVal workItemType As String) As Microsoft.TeamFoundation.Migration.Toolkit.Wit.IWorkItemUpdatePackage Implements Microsoft.TeamFoundation.Migration.Toolkit.Wit.IWorkItemUpdatePackageFactory.CreateUpdatePackage

    End Function

    Public Function CreateUpdatePackage(ByVal source As Microsoft.TeamFoundation.Migration.Toolkit.Wit.IMigrationWorkItem, ByVal item As Microsoft.TeamFoundation.Migration.Toolkit.Wit.IMigrationWorkItem) As Microsoft.TeamFoundation.Migration.Toolkit.Wit.IWorkItemUpdatePackage Implements Microsoft.TeamFoundation.Migration.Toolkit.Wit.IWorkItemUpdatePackageFactory.CreateUpdatePackage

    End Function

#End Region

#Region " IDisposable "

    Private disposedValue As Boolean = False        ' To detect redundant calls

    ' IDisposable
    Protected Overridable Sub Dispose(ByVal disposing As Boolean)
        If Not Me.disposedValue Then
            If disposing Then
                ' TODO: free other state (managed objects).
            End If

            ' TODO: free your own state (unmanaged objects).
            ' TODO: set large fields to null.
        End If
        Me.disposedValue = True
    End Sub

#Region " IDisposable Support "
    ' This code added by Visual Basic to correctly implement the disposable pattern.
    Public Sub Dispose() Implements IDisposable.Dispose
        ' Do not change this code.  Put cleanup code in Dispose(ByVal disposing As Boolean) above.
        Dispose(True)
        GC.SuppressFinalize(Me)
    End Sub
#End Region


#End Region

End Class
